<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>

        function Tab(divs){
            this.divs = divs;
            console.log("this1",this); // 指向实例化对象
        }
        // 构造函数的方法里需要用到构造函数里的属性
        Tab.prototype.fn = function(){
            console.log("this1",this) // 指向实例化对象
        }
        Tab.prototype.fn2 = function(){
            var that = this;
            document.onclick = function(){
                console.log("this2",this); // 指向事件源
                console.log("this1",that);// 指向实例化对象
            }
        }
        Tab.prototype.fn3 = function(){
            this.divs.forEach(function(){
                console.log("this3",this); // 指向 window
            })
        }

      var tab =   new Tab(["张三","李四","王五"]);  
      tab.fn();
      tab.fn2();
      tab.fn3();

      /* 
        this指向 有3个 
            1.this 指向 实例化对象 ：构造函数 和 构造函数原型方法里
            2.this 指向事件源 onclick 里 点的谁就指向谁 
            3. forEach 里的this 指向window
      */

    </script>
</body>
</html>